package cn.org.cute.ebocy.util;

import java.net.URLEncoder;
import java.io.UnsupportedEncodingException;

/**
 * 字符串编码格式转换类。
 */

public class StringEncode {
	
    public StringEncode() {}
    
    /**
     * 按指定源编码、目标编码方式转换字符串编码。
     * @param s 要转换的字符串
     * @param sourceEncode 源编码方式
     * @param desEncode 目标编码方式
     * @return 重新编码后的字符串
     */
    public static String encode(String s,String sourceEncode,String desEncode){
    	
    	//System.out.println(s+":"+sourceEncode+":"+desEncode);
    	
    	if(s == null){
    		return null;
    	}
    	
    	if(s.equals("")){
    		return "";
    	}
    	    	
        String se = null;
        
        try{
            if("".equals(sourceEncode)){
                if("".equals(desEncode)){
                    se = s;
                }
                else{
                    se = new String(s.getBytes(),desEncode);
                }
            }
            else{
                if("".equals(desEncode)){
                    se = new String(s.getBytes(sourceEncode));
                }
                else{
                    se = new String(s.getBytes(sourceEncode),desEncode);
                }
            }
        }
        catch(UnsupportedEncodingException e){
        }
        
        //System.out.println(se);
        
        return se;
        
        
    }
    
    public static String[] encode(String[] s,String sourceEncode,String desEncode){
    	if(s == null){
    		return null;
    	}
    	for(int i=0;i<s.length;i++){
    		s[i] = encode(s[i],sourceEncode,desEncode);
    	}
    	return s;
    }
    
    public static String urlEncode(String s,String encode){
    	
    	try{
    		return URLEncoder.encode(s,encode);
    	}
    	catch(UnsupportedEncodingException e){
    		return s;
    	}
    	
    }
}
